RabbitMQ中间件
===========================================

一：简介

1.1：中间件分类
    消息型中间件：message-oriented middleware,mom
    智能型中间件：
    内容型中间件：生产者，消费者，发布，订阅

1.2：broker：
    x/open, xatmi oracle tuxedo
    
    功能：存储（缓冲），路由，消息转换。
        缓冲池：缓冲
        路由：unicast，multicast，broadcast
        消息转换：
    
    OASIS ISO 组织了 AMQP 协议
        高级消息队列协议：
            支持多种消息路由模型，
                点到点
                fan-out
                发布-订阅
                请求-响应

            事务管理，队列，分布式，安全，集群，联合

        交换器，消息队列，绑定器

实现：
    Apache（Qpid，activemq）
    RabbitMQ：erlang语言开发
    Kafka：

    0MQ 或者 ZMQ 或者，ZeroMQ




~]# yum -y install rabbitmq-server
~]# systemctl start rabbitmq-server.service
~]# ss -tnlp
    5672：本机
    25672：集群
    15672：基于web的管理接口（访问ip接口）
    用户名与密码：guest：guest

~]# rabbitmq-plugins -h
~]# rabbitmq-plugins enable rabbitmq_management
~]# rabbitmq-plugins list
~]# systemctl restart rabbit-server.server
~]# rabbitmqctl

~]# less /usr/lib/rabbitmq/bin/rabbitmq-defaults
环境变量：
~]#   /etc/rabbitmq/rabbitmq-env.conf
RABBITMQ_BASE：数据库和日志文件
RABBITMQ_CONFIG_FILE：配置文件路径 /etc/rabbitmq/rabbitmq
RABBITMQ_LOGS：日志
RABBITMQ_NODE_IP_ADDRESS：监听的ip
RABBITMQ_NODE_PORT：监听的ip
RABBITMQ_PLUGINS_DIR：

配置文件
~]#  /etc/rabbitmq/rabbitmq
auth_mechanisms：认证机制 SASL（简单认证安全层）
default_user：guest
default_pass：guest
default_permission：默认权限
disk_free_limit：磁盘最少预留空间
heartbeat：消息时长（580毫秒）
hipe_compile：
log_levels：（none|error|warning|info）
tcp_listeners：监听的地址和端口
ssl_listeners：基于ssl通信协议监听的地址和端口
vm_memory_high_watermark：内存高水位标记

运行时参数
~]# rabbitmqctl -h
~]# rabbitmqctl stop_app  # 停止所有应用
~]# rabbitmqctl status
~]# rabbitmqctl start_app  # 开启所有应用

用户管理
~]# rabbitmqctl add_user test pass
~]# rabbitmqctl list_users
~]# rabbitmqctl set_user_tags test administrator

虚拟主机：
add_vhost
delete_vhost
list_vhosts

权限管理：




RabbitMQ Cluster
(1)：使用短格式主机名，解析的名称与每个主机名称保持一致。
(2)：时间同步
(3)：配置过程
    1：复制master节点的cookie复制到其他节点：权限为400：/var/lib/rabbitmq/.erlang.cookie
    2：停止slave节点应用
        rabbitmqctl stop_app
    3：slave加入集群
        rabbitmqctl join_cluster NAME
    4：slave启动应用
        rabbitmqctl start_app
    查看状态
~]# rabbitmqctl cluster_status







==========================================
openstack云

yum -y install openstackclient
openssl rand -hex 10
su -s /bin/bash - keystone
openstack endpoint list
openstack domain list
openstack project list

~]# 
~]# 
~]# 
~]# 
~]# 
~]# 
~]# 
~]# 
~]# 
~]# 
~]# 
~]# 
~]# 
~]# 
~]# 
~]# 





























































































































